﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Conexion;
using System.Data;
using Conexion;

namespace AccesoDatos
{
    public class Manejador_Recepcion
    {
        Conexion.clsConexion conexion = new clsConexion();

        public clsRecepcionMercancia Informacion_recepcion(string Folid)
        {
            try
            {
                clsRecepcionMercancia informacion = new clsRecepcionMercancia();
                List<clsParametros> lista = new List<clsParametros>();
                lista.Add(new clsParametros("@folio", Folid));
                DataTable Datos = conexion.Datatable_standart("sp_RMA_Informacion_recibo_Mercancia", lista);
                DataRow[] dr = new DataRow[Datos.Rows.Count];
                Datos.Rows.CopyTo(dr, 0);
                object[] objeto = Datos.Rows[0].ItemArray;

                informacion.Producto = objeto[0].ToString().Trim();
                informacion.Descripcion = objeto[1].ToString().Trim();
                informacion.Serie = objeto[2].ToString().Trim();
                informacion.Falla = objeto[3].ToString().Trim();
                informacion.Proveedor = objeto[5].ToString().Trim();
                informacion.Rm = objeto[6].ToString().Trim();
                try
                {
                    informacion.Fecha = DateTime.Parse(objeto[7].ToString());
                }
                catch { informacion.Fecha = DateTime.Parse("01/01/1986"); }
                informacion.Factura = objeto[8].ToString().Trim();
                informacion.Costo = float.Parse(objeto[9].ToString());
                try
                {
                    informacion.Costoprov = float.Parse(objeto[10].ToString());
                }catch{informacion.Costoprov = 0;}
                


                return informacion;
            }
            catch { return null; }
        }

        public DataTable cat_proveedores()
        {
            DataTable X = conexion.Datatable_standart("sp_RMA_RegresaProveedores", null);
            return X;
        }

        public DataTable cat_usuarios()
        {
            DataTable X = conexion.Datatable_standart("sp_RMA_CatUsuarios", null);
            return X;
        }
        public DataTable cat_usuarios_recepcion()
        {
            DataTable X = conexion.Datatable_standart("sp_RMA_CatUsuarios_Recepcion", null);
            return X;
        }

        public DataTable cat_asignaciones()
        {
            DataTable X = conexion.Datatable_standart("sp_RMA_asignaciones", null);
            return X;
        }

        public bool Guardar(clsRecepcionMercancia obj,int usuario) 
        {
            List<clsParametros> lista = new List<clsParametros>();
            lista.Add(new clsParametros("@folio", obj.Folio));
            lista.Add(new clsParametros("@rm", obj.Rm));
            lista.Add(new clsParametros("@costo_prov", obj.Costoprov.ToString()));
            lista.Add(new clsParametros("@fecha_prov", obj.Fecha.ToShortDateString()));
            lista.Add(new clsParametros("@asignacion_id", obj.Asignacion.ToString()));
            lista.Add(new clsParametros("@persona_id", obj.Responsable.ToString()));
            lista.Add(new clsParametros("@observaciones", obj.Observaciones));
            lista.Add(new clsParametros("@proveedor_id", obj.Proveedor.ToString()));
            lista.Add(new clsParametros("@usuario_id",usuario.ToString()));
            

            if (conexion.Procedure_standart("sp_RMA_inserta_recepcion", lista))
            {
                if (conexion.entrar("select * from RMA_principal where Folio='" + obj.Folio + "' and id_estatus=16"))
                {
                    return true;
                }
                else { return false; }
            }
            else { return false; }
            
        }
        
    }
}
